home *** CD-ROM | disk | FTP | other *** search
-
- HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
-
-
- Audience
- ========
-
- This program and accompanying databases are designed for the
- intermediate to advanced programmer that knows what he's doing,
- but just can't remember specific information necessary to program
- advanced features of the PC or PS/2. The default distribution is
- comprised of a collection of information found in manufacturer
- technical reference manuals, various commercial books, technical
- topics discussed on CompuServe's technical forums, public domain
- articles and my own snooping, all organized in a single database.
- The help topics include BIOS interrupts, DOS interrupts, DOS
- functions, EMS and Mouse functions, BIOS and DOS data structures,
- diagnostic codes, DOS commands, 80x86 assembler instructions,
- Standard and vendor specific C functions and various hardware
- specifications. The program can also be used as a quick reference
- utility for any collection of text.
-
-
-
- Installation
- ============
-
- This utility requires the following:
-
- DOS 2.0 or greater
- 64K of free RAM
- a hard disk system is recommended
-
- Installation involves two steps. First, simply dearchive the
- HelpPC.EXE file (may be HelpPC.ZIP or HelpPC.ARC). Second,
- issue the following command:
-
- SET HLP=d:dirname (no blanks, except between "SET HLP")
-
- Where 'd:' is the drive and 'dirname' is the directory where the
- help .TXT files exist (this should be fully qualified, with or
- without the trailing '\'). The HelpPC.COM and HelpTsr.COM files
- can exist anywhere they can be accessed through the DOS command
- search path (PATH). The "SET HLP=" command should be placed in
- the AUTOEXEC.BAT file to allow access to HelpPC each time your
- machine is restarted.
-
- As an example, if the files HelpPC.NDX and the .TXT files reside
- in a directory named C:\HELPPC then use:
-
- SET HLP=C:\HELPPC
- or
- SET HLP=C:\HELPPC\
-
-
- The name HelpPC was chosen to avoid conflict with the HELP command
- available with some OEM versions of DOS. I'd recommend that you
- rename HelpPC.COM to a name you find convenient and easy to remember
- such as "H.COM", "HELP.COM" or "INFO.COM".
-
- HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
-
-
- The HelpPC utilities work with various TSR's resident, but as with
- all TSR's there's always the possibility of conflict. If you find
- a problem please pass along as much information as you can to me via
- the address listed below.
-
-
-
- Background
- ==========
-
- As programmers, we tend to gather massive amounts of books,
- journals and magazines. Each of these items have some important
- detail that is generally out of our reach since we can't carry
- them with us everywhere we go. That's why I started this project,
- to free myself from having to first find the manuals or articles
- and then weed through all the mundane text to get to an answer.
- In the past few years HelpPC has saved me a lot of time previously
- spent rummaging through manuals.
-
- HelpPC initially began somewhere around 1985 when I decided that
- I spent way too much time searching for the same information over
- and over again. At that time my primary references were David
- Powell's BIOS & DOS quick reference cards and Peter Norton's
- "Programmers Guide to the IBM PC". I generated an indexed help
- file from David Powell's original work and slowly added information
- to each topic. The result of several years work is no longer a
- duplicate of David's fine work but a complete database of PC
- technical topics. Each time I had to look up a new PC related
- topic, I made a note that it should be added to the database. As
- time passed the database grew more and more complete and I found
- little need to look to other sources for information. I then began
- adding information people were requesting in messages on CompuServe's
- IBMPRO, BPROGB, MSSYS (now MSLANG and MSOPSYS), CLMFORUM and IBMCOM
- forums. The database is forever growing with each new feature and
- specification made available.
-
- All information included within HelpPC has been confirmed against
- available sources. The comparison of information usually progressed
- along the same paths. Initially Norton's "Programmers Guide to the
- IBMPC" and Duncan's "Advanced MS-DOS" were the two sources I turned
- to for verification. Later I began using Dettemann and Kyle's "DOS
- Programmers Reference", Thom Hogan's "The Programmers PC Sourcebook",
- and the "MS-DOS Encyclopedia". When something wasn't covered well
- in any of these references or there was a discrepancy, I turned to
- the "IBM PC/XT Technical Reference Manual" , the "IBM PC/AT Technical
- Reference Manual" and the "DOS Technical Reference Manual". All
- hardware specific information is verified with the respective vendor's
- technical specification manuals.
-
- Credit is given to the sources if any of their data is included
- in HelpPC (see topic Bibliography for a listing). One note I
- should make clear is that the information on many of the topics
- appears as if it were straight out of Norton, Duncan, Dettemann
- or from Ralf Brown's interrupt list. These and many other sources
- were referenced but none of the material is plagiarized and any
-
- HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
-
-
- similarity is due to the nature of the material. If you compare
- any of the aforementioned references, they all contain approximately
- the same data in very similar formats.
-
- The main program is a quick reference utility that allows quick
- viewing of the help database from the DOS command line. The program,
- which is approximately 10K in size, is written in C with a little
- assembler sprinkled in for speed/size optimization. A 43 and 50
- line mode is supported for those that like to squint. A TSR version
- is also included with this release which has several enhancements
- over the command line utility. These include dual monitor support
- and context sensitive help (see below for more information).
-
-
- HelpPC Command Line Usage
- =========================
-
- The command line version of HelpPC has three modes of operation.
- At first the most useful will be the menu driven interface that
- allows you to point and shoot at your topic. Entering HelpPC
- without a command line puts you in menu mode. The second mode is
- the command line mode which allows you to specify the text to
- search for on the command line. The third mode is available from
- either of the two other modes and prompts you for information.
- Prompted mode becomes the default after using the command line
- mode. To switch between prompted mode and menu mode, use the
- F1 key. Here's a list of the navigational keys:
-
-
- Esc Exit current screen or HelpPC
- End Moves text or menu to the last line/item
- Home Moves text or menu to the first line/item
- PgUp Moves text or menu to page top or previous page
- PgDn Moves text or menu to page bottom or next page
- F1 Switches from menu to prompting mode and vice versa
- Alt-P Write current topic to printer. HelpPC has builtin error
- detection for normal printers but if LPT1 is redirected to
- a serial printer the system may hang until the printer is
- ready. This is an undesirable though common behavior with
- DOS and serial printers.
- Alt-W Write text to file HelpPC.DAT in the current directory
- Alt-X Exit HelpPC and without clearing current screen
- Tab Move to next subtopic link (Right Arrow also)
- BackTab Move to previous subtopic link (Left Arrow also)
- Enter Jump to highlighted subtopic link
-
-
-
-
-
-
-
-
-
- HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
-
-
- HelpTSR Usage
- =============
-
- HelpTSR is a popup utility similar to the HelpPC utility. The
- following is a list of additional features found in HelpTSR:
-
- 1. Supports context sensitive help within editors such as Brief,
- Epsilon, Fastwrite, Microsoft Editor, Norton Editor, PC-Write,
- PWB, Qedit, dBASE and many other editors. This means you can
- position your cursor on a text item and HelpPC will popup with
- information on the topic if it's available. This is very useful
- when editing source code and you need to know how to use a
- function or command. An example would be while editing an
- assembler file, you need to know what flags are affected by an
- "ADC" instruction. You just position your cursor on the "ADC"
- instruction and press the hot keys. Help information for the
- "ADC" instruction is displayed. Epsilon and the Norton Editor
- may require special setup for the HelpTSR to popup (see notes
- below). This feature can be disabled via the /M option.
- 2. Supports single or dual monitor systems (1 Color and 1 Mono).
- On dual monitor systems you can get popup help on the alternate
- monitor without disturbing your current screen. Dual monitor
- support frees 4k of memory since the video screen isn't saved.
- 3. Supports alternate popup key sequences to avoid conflict with
- other TSR's and buggy keyboard BIOS's.
- 4. Has a similar interface to the command line version but with
- options to customize the behavior during popup.
- 5. Supports TSR removal to free RAM.
- 6. Supports command line options to control the behavior when the
- TSR pops up. An example would be whether to popup in menu or
- prompted mode or to disable context sensitive help.
- 7. Network compatible so several people can view the databases at
- one time.
- 8. Requires only 32K (28K if dual screen support is used). The
- size of the resident memory varies depending on the size of the
- index. The default distribution, requires 37K to maintain 1350
- topics on a single monitor system. This can also be trimmed
- down by removing unneeded topics from the default help files.
- 9. Capable of being loaded high to conserve low DOS memory using
- one of the 386 memory managers or DOS 5.0's LOADHIGH command.
- 10. The alternate monitor is blanked after 10 minutes to preserve
- the screen. This feature can be disabled via the /B option.
- 11. Integrity checking to safeguard against unruly code often
- found in development environments. Before popping-up HelpTSR
- checksums its internals and refuses to popup if corrupted by
- another program or stray pointer. If another program stomps
- on memory owned by HelpTSR, it may have also destroyed other
- vital areas within the system which could lead to severe
- problems. It is recommended that you reboot the system
- should this occur. This is a safety measure added to HelpTSR
- to improve confidence in these environments. HelpTSR sounds a
- long tone when this condition is detected.
-
- HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
-
-
- If the data files are changed or reindexed after HelpTSR is resident,
- HelpTSR must be unloaded from memory (/U option) and then reloaded.
- This is because HelpTSR maintains checksum information on the help
- index when it is loaded. If the data or index files change these
- checksums will no longer be valid.
-
- Here's how to use HelpTSR from the command line:
-
- HelpTSR [options]
-
- Where "options" is zero or more of the following:
-
- /? list this help information. If other options are supplied
- also, they are ignored.
-
- /B disable alternate monitor blanking. When dual monitor support
- is chosen, the alternate monitor is blanked if the help screen
- is stagnant for over 10 minutes. Although this option is
- available, it's usually a good idea to allow the alternate
- monitor blanking to avoid monitor burn in.
-
- /D dual monitor support. If two monitors are available, the
- alternate monitor can be used to display the help text.
- This avoids disruption of the active display. The screen
- is blanked after 10 minutes if the HelpPC screen is stagnant.
- This will not blank a screen under the control of another
- program such as a debugger.
-
- /M menu mode as default. This option forces HelpTSR to display
- the main menu and ignore any context sensitive help. Prompted
- mode is available if requested via the F1 key.
-
- /P prompted mode as default. This option forces HelpTSR to come
- up in prompted mode if no current word context is supplied.
- Normally HelpTSR will popup in menu mode in this situation.
- Menu mode is available if requested via the F1 key.
-
- /U unload HelpPC and free memory. This option overrides all
- other options except /?. All other options are ignored as
- HelpTSR will attempt to remove itself. If another resident
- program has hooked HelpTSR's interrupt vectors, HelpTSR will
- not unload and displays a message indicating this condition.
-
- /1 use Ctrl-Shift-H to popup instead of Alt-Left-Shift-H. Some
- Tandy 1000's have an Alt Key BIOS bug which requires changing
- the popup hotkey.
-
- /2 use Ctrl-Kp5 to popup instead of Alt-Left-Shift-H
-
- /3 use Ctrl-Shift-Kp5 to popup instead of Alt-Left-Shift-H
-
- /4 use Alt-Shift-F1 to popup instead of Alt-Left-Shift-H
-
- HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
-
-
- Other Utilities
- ===============
-
- Also included are two command files INDEXHLP.COM and BUILD.BAT.
- INDEXHLP.COM is the file index utility. Usage is very simple;
- you just include the files you plan to index on the command line.
- Issuing the INDEXHLP command gives instructions on usage. BUILD.BAT
- is a batch file provided to simplify use of INDEXHLP. It preset to
- index the default databases in the distribution and allows you to
- specify your own additional databases. BUILD without parameters
- indexes only the default databases. If any file names are supplied,
- they are also indexed. Here's an example:
-
- BUILD
- is equivalent to
-
- INDEXHLP asm c dos hardware interrupt tables misc
-
- Both of these command lines will index the default databases. To
- add additional databases just append the filename (extension isn't
- necessary if .TXT is used) to the list. Here's an example:
-
- BUILD custom
-
- is equivalent to
-
- INDEXHLP asm c dos hardware interrupt tables misc custom
-
-
- Creating your own Help Files
- ============================
-
- HelpPC in its standard form can handle 1800 indexed topics and 16
- independent help files. If you find you need a larger capacity,
- please contact me at one of the addresses below. Each file must
- have its own title which will show up in the main menu. Each topic
- following the file title (see below) will show up in the subtopic
- menu. Note that HelpPC will adjust the menu format based on the
- screen height and the number of items in the main menu.
-
- HelpPC text files are simple ASCII files that contain control codes
- in column one. Each file must contain a menu title in the first
- line. The remainder of the file consists of keyed lines and help
- text. Each line must end with a CR/LF pair (standard DOS format) and
- shouldn't be longer than 79 characters. Tabs position the text at
- 8 character tab positions. The following is a list of keys and
- special characters (keys are found in column 1, special characters
- appear in columns 1-80):
-
- '@' in column 1 indicates a file title which will appear in
- the main topic menu. This must be the very first line
- in the file and has a maximum length of 40 characters
- (excluding the '@').
- ':' in column 1 indicates a subtopic key. Multiple keys separated
- by colons ':' can be entered on the same line. Single spaces
- are allowed in a key, multiple spaces are compressed to single.
-
- HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
-
-
- '%' in column 1 indicates a highlighted title line.
- '^' in column 1 indicates a centered highlighted title.
- ' ' (space) in column 1 indicates normal text.
- '~' Tilde is used to mark text as a subtopic link. Use two
- tilde characters to represent an actual tilde in the data.
- A word or phrase enclosed between tilde's will become a
- subtopic link for the current topic.
- TAB in column 1 starts text in column 9
- any other character in column 1 is truncated
-
- Use the BUILD command to index/reindex the default help text files.
- To add your own files to the index use the command:
-
- BUILD [fname [file2 ...]]
-
- This information is available in HelpPC with the topic
- "HELPPC FORMAT".
-
-
-
- Limits of the HelpPC program
- ============================
-
- Max items in main topic menu: 16
- Max items in subtopic menu: 512
- Max topics in index: 1800
- Max size of topic text: 16384 bytes
- Max lines of text per topic: 512 lines
- Max topic key length: 20 bytes
- Max file title length: 40 bytes
- No limit on file size
-
-
-
- Special Editor Considerations
- =============================
-
- With Epsilon, you must setup a TSR popup key. This is done by
- issuing the "program-keys" command and choosing one of the hotkey
- options [1..4]. Option 4 is the default popup key sequence for
- HelpTSR. Quit from the menu using 'Q' and then issue the
- "write-state" command to make the configuration permanent.
-
- The Norton Editor may need configured on a few video systems,
- though there is no rule to determine which. If you try to popup
- HelpTSR while in the Norton Editor and the context sensitive help
- does not work, then the editor is not using a real cursor (may be
- using reverse video). To configure the Norton Editor in this
- situation, do the following:
-
- F5 Format Menu
- C Select cursor type (change to a blinking cursor)
- F3 File Menu
- S Save Modified Editor configuration (it will prompt
- you for the filename)
-
- HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
-
-
- Miscellaneous Notes
- ===================
-
- If the HelpPC program is used in a batch file, the parameters to it
- must not be variable parameters (%0..%9), because DOS strips out
- commas when it parses batch file parameters. Commas are valid in
- topics and if removed by the command parser will change the command
- line presented to HelpPC. This usually results in the "Topic not
- found in index" message.
-
- HelpTSR works in MS Windows DOS sessions. If HelpTSR is loaded before
- MS Windows, HelpTSR is available in any following DOS windows. If
- HelpTSR is loaded from with a DOS window, it is active until the
- window is destroyed. HelpTSR will not popup over a graphics screen.
-
-
-
- 43/50 Line users
- ================
-
- Some versions of DOS and ANSI.SYS replacements do not handle 43/50
- line mode correctly. If the bottom half of the display does not
- scroll correctly in 43/50 line mode, either upgrade to a newer DOS
- or set 43/50 line mode through a program like NANSI.SYS. This is a
- problem in some DOS versions and not HelpPC.
-
-
-
- Files included with HelpPC
- ==========================
-
- BUILD.BAT - A batch file that uses INDEXHLP to rebuild the
- help index. This is the simplest way to index
- the databases.
- HELPPC.COM - A display utility that reads the index and databases
- and displays the information. I recommend that you
- rename this program to something you find convenient
- to use like "H.COM", "HELP.COM" or "INFO.COM". I
- prefer "HELP.COM", which conflicts with the DOS HELP
- command that is supplied with some OEM versions of
- MS DOS.
- HELPPC.DOC - The file you're reading now.
- HELPPC.NDX - The data index. Contains index information on data
- in each of the .TXT files. HelpPC finds this file
- through the environment variable "HLP".
- HELPTSR.COM - Context sensitive help TSR. The program interface
- is similar to the command line utility HELPPC.COM
- but has advance features.
- INDEXHLP.COM - The help file index utility. Type INDEXHLP for
- information on usage.
- README - A brief description of how to get started.
- REGISTER.FRM - A registration form. This is also included with the
- registered versions should one choose to redistribute
- HelpPC.
-
- HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
-
-
- Data Files:
-
- ASM.TXT - Assembler programming topics.
- C.TXT - ANSI, Microsoft and Turbo C functions and C
- programming topics. This may be split into
- C.TXT, MSC.TXT and TC.TXT in future releases of
- HelpPC.
- DOS.TXT - DOS commands database.
- HARDWARE.TXT - Hardware relative programming topics.
- INTERRUP.TXT - Documented and undocumented interrupt topics.
- MISC.TXT - Miscellaneous topics that have no logical grouping.
- TABLES.TXT - Tables, structures and formats of BIOS, DOS and other
- programming related tabular information.
-
-
-
- Version News
- ============
-
- 2.10 Added subtopic linking, tab support, 486 instructions and timings.
- 2.0 Major revision of the user interface including menus. This is
- the first shareware release. Help index utility is included
- and TSR becomes available with registration. Some versions
- went out with David Powell referenced as David Wilson. This
- was an error and I apologize to David Powell for this accident.
- 1.5 A minor bug in the 43/50 line mode of version 1.4 has been
- fixed. Over 900 topics are now included.
- 1.2 EMS and Mouse functions were added to the database. Over 750
- topics were included. (limited distribution)
- 1.1 Maintenance release of the database. Several topics were added
- and existing ones were cleaned up.
- 1.0 Original release.
-
-
-
- Registration
- ============
-
- This software is shareware. If you find this program or accompanying
- data of some value and continue to use either after a 30 day trial
- period registration is required. Registration costs $25 in the
- United States ($30 otherwise) and provides you with the latest
- version of the program and the databases. It also places you on the
- update mailing list. Registration provides the resources to continue
- work on HelpPC. A registration form is included in the file
- REGISTER.FRM. This file is enclosed with the registered version also
- to make it easier to distribute HelpPC to friends and colleagues.
- Here's the pricing schedule for HelpPC.
-
- Number of copies Price per copy
-
- 1 $25 per diskette
- 2-5 $20 per diskette
- 6+ $15 per diskette
- $5 per upgrade (any version)
-
- Add $5 for addresses outside the U.S.
-
- HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
-
-
- Thanks to the following:
- ========================
-
- David Powell of IBM for his BIOS/DOS reference cards which gave me
- the idea that started all of this. Jeff Miller of CompuServe for
- supporting the project and providing helpful feedback. Mark Grim,
- Bernd Schemmer and Robert Rosenbach for entering/passing along data
- for HelpPC. Phil George and Ted Stephens for supporting and testing
- throughout the project cycle. Dave Drown, Jerry Gibson, Kevin Hughes,
- Charles Lazo III, Jim Milligan, David Powell (of CCS) and Ali Vardag
- for testing and/or providing feedback. Ray Duncan, Chris Dunford,
- Richard K. Herzog, Jim Kyle, Micheal Mohle, Chip Rabinowitz, Mike
- Rubenstein and Barry Simon for sharing their vast knowledge with the
- rest of us on CompuServe. Ralf Brown for maintaining "the" interrupt
- lists. Brett Salter and The Periscope Company for the great support
- and the awesome Periscope debugger which was the main bug buster used
- in writing HelpPC.
-
-
-
- In Closing
- ==========
-
- Use it, try to break it or just tell me what you did or didn't
- like about it or what you'd like to see added. If you find any
- discrepancies, errors or typos, I would appreciate corrections
- and any suggestions for improvement. If at all possible,
- please contact me using one of the below addresses and I will
- try to correct the problem immediately. Additions to the help
- files are welcome and can be submitted to me via any of the
- following addresses. If the information you provide is used in
- HelpPC, you will be given credit for the work.
-
- Please share this program with your friends; but please, if you
- do redistribute this software, distribute it in its original
- .ARC, .ZIP or LHARC form, without modification. If you think
- it's a worthwhile program, please register. Your registrations
- will allow continued development on HelpPC.
-
-
-
- I can be reached at any of the following addresses:
-
-
- US Snail: David Jurgens
- 1550 Alton Darby Creek Road
- Columbus, Ohio 43228
-
- CompuServe: 70004,30 (read daily)
- 71270,2422 (read weekly)
-
-
-
-
-
- HelpPC 2.10 Quick Reference Utility Copyright (c) 1991, David Jurgens
-
-
- Disclaimer
- ==========
-
- The program contained herein, in its original form, is designed
- to work with PC's which are completely IBM DOS and IBM BIOS
- compatible and has been tested on a myriad of PC's and compatibles.
- The information contained within the help databases is correct to
- the best of my knowledge and ability. Since it was compiled from
- various sources, some in complete disagreement and some continually
- changing specifications, I cannot be responsible for omissions,
- inaccuracies or plain errors of any type.
-
- I make no claims to value of the enclosed programs or files,
- or their behavior and assume no liability for damages either
- from the direct use of this product or as a consequence of the
- use/misuse of this product. Hence this program and all
- information contained within SHOULD BE USED AT ONE'S OWN RISK.
-
- This disclaimer is included to absolve me from legal issues
- brought about by today's litigious society.
-